<?php

namespace app\middleware;

class checkUserMobile
{
    public function handle($request, \Closure $next)
    {
        $tag = 'user';
        $model = '\\app\\model\\common\\User';
        // token是否存在
        $token = $request->header('token');
        if (!$token) return ApiException('请先登录！');
        // 获取用户信息
        $user = cms_getUser([
            'token'=>$token,
            'tag'=>$tag
        ]);
//        if (!$user) return ApiException('请先登录！');

        if (!$user){
            return ApiException('请先登录！');
        }else{
            //token正确 则验证是否有绑定手机
//            var_dump($user['phone']);ApiException('请先登录！');
            if(!$user['phone']){
                return showError('请先绑定手机号码', 20001);
            }else{
//                return showError('2');
            }
        }

        // 成功，返回当前用户实例
        if ($model) {
            // 当前用户实例
            $request->UserModel = $model::with(['userWallet'])->find($user['id']);
            if($request->UserModel->status == 0){
                return ApiException('2账号异常，请联系管理员！');
            }
        }else{
            // 当前用户数据（数组）
            $request->userInfo = $user;
        }
        return $next($request);
    }
}
